package com.gylang.print.pdf.render;

import com.gylang.print.pdf.domain.PdfPageWrapper;
import com.gylang.print.pdf.domain.PdfWrapper;
import com.gylang.print.pdf.domain.component.BasePdfComponent;

/**
 * @author gylang
 * data 2021/6/4
 */
public interface IPdfRender<T extends BasePdfComponent> {

	/**
	 * 处理类型
	 *
	 * @return 处理类型
	 */
	String type();

	/**
	 * 渲染
	 *
	 * @param wrapper     pdf包装类
	 * @param pageWrapper page 包装类
	 * @param component           组件数据
	 */
	void render(PdfWrapper wrapper, PdfPageWrapper pageWrapper, T component);
}
